﻿using Abp.Dependency;
using NetCore.Dtos;
using NetCore.Entities.Projects;
using NetCore.Projects.Dtos;
using NetCore.Services;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;

namespace NetCore.Projects
{
    /// <summary>
    /// IProjectService 仅有的接口
    /// </summary>
    [Description("项目")]
    public interface IProjectAppService : IBaseNetCoreAppService<Project>, ITransientDependency
    {
        IQueryable<ProjectDto> GetProjects();
        Task<Project> GetCurrentProject(InputIdDto input);
        Task<List<ProjectAttachmentDto>> GetProjectAttachments(InputIdNullDto input);
        Task<ProjectDto> ProjectMap(InputIdDto input);

        IActionResult Map();
        /// <summary>
        ///  没有图片返回一个默认提示错误的图片
        /// </summary>
        /// <returns></returns>
        IActionResult Error();
        /// <summary>
        /// IFormFile uploadFile 前端设置的上传文件名(单文件上传)
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        Task<ActionResult> UploadFile(InputIdDto input);
    }
}
